package com.pig4cloud.pig.module.api.entity.gate;

import com.baomidou.mybatisplus.annotation.*;
import com.pig4cloud.pig.common.core.annotation.Excel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;

/**
 * 道闸的进出记录对象 barrier_gate_record
 *
 * @author ruoyi
 * @date 2023-06-12
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("barrier_gate_record")
public class BarrierGateRecord implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * $column.columnComment
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

    /**
     * 大门id
     */
    private Integer gateId;

    @Excel(name = "所属道闸")
    @TableField(exist = false)
    private String gateName;

    /**
     * 记录id
     */
    @Excel(name = "记录id")
    private String plateid;

    @Excel(name = "停车时间")
    private Integer useMinute;



    /**
     * 入场时间
     */
    @Excel(name = "入场时间")
    @TableField(exist = false)
    private String inTimes;

    private Date inTime;

    /**
     * 出厂时间
     */
    @Excel(name = "出场时间")
    @TableField(exist = false)
    private String outTimes;

    private Date outTime;

    /**
     * 录入时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 设备序列号
     */
    private String serialNo;

    /**
     * 车牌号
     */
    @Excel(name = "车牌号")
    private String carNum;

    /**
     * 车辆入场状态 1 - 已入场 2 - 准备离场支付  3 - 已离场
     */
    private Integer carState;

    /**
     * 车辆识别结果
     */
    private String plateResult;

    /**
     * 实际数据
     */
    private String result;

    /**
     * 设备名称
     */
    private String deviceName;

    /**
     * 车牌颜色
     */
    private Integer colorType;

    /**
     * 车牌类型 0：未知车牌:、1：蓝牌小汽车、2：:黑牌小汽车、 3：单排黄牌、4：双排黄牌、 5：警车车牌、6：武警车牌、
     * 7：个性化车牌、8：单排军车牌、9：双排军车牌、10：使馆车牌、11：香港进出中国大陆车牌、12：农用车牌、13：教练车牌、
     * 14：澳门进出中国大陆车牌、15：双层武警车牌、16：武警总队车牌、17：双层武警总队车牌、18：民航车牌、19：新能源车牌
     */
    @Excel(name = "车牌类型")
    @TableField(exist = false)
    private String carNumTypes;

    private Integer carNumType;

    /**
     * 车的行进方向，0：未知，1：左，2：右，3：上， 4：下
     */
    private Integer direction;

    /**
     * 识别大图片内容经过 base64 后的字符串
     */
    private String imageFile;

    /**
     * 识别大图片内容长度，注意不是 base64 后的长度
     */
    private Integer imageFileLen;

    /**
     * 识别车牌小图片内容经过 base64 后的字符串
     */
    private String imageFragmentFile;

    /**
     * 识别小图片内容长度，注意不是 base64 后的长度
     */
    private Integer imageFragmentFileLen;

    /**
     * 设备离线状态，0：在线，1：离线
     */
    private Integer isOffline;

    /**
     * 付款用户id
     */
    private Integer wxUserId;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 交易流水号
     */
    private String outTradeNo;

    /**
     * 支付平台  0 - 微信支付 1 - 农商行支付
     */
    private Integer payPlatform;

    /**
     * 支付账户id
     */
    private Integer payPlatformId;

    /**
     * 订单金额
     */
    @Excel(name = "应付金额")
    private BigDecimal totalMoney;

    /**
     * 支付金额
     */
    @Excel(name = "支付金额")
    private BigDecimal payMoney;

    /**
     * 支付状态 0 - 未支付 1 - 支付中 2 - 已支付
     */
    @Excel(name = "支付状态")
    @TableField(exist = false)
    private String payStates;

    private Integer payState;

    /**
     * 支付三方平台的支付流水号
     */
    private String transactionId;

    /**
     * 支付时间
     */
    private Date payTime;

    /**
     * 是否是会员用户
     */
    private Integer isVip;

    /**
     * 使用的会员金额
     */
    private String useVipMoney;

    /**
     * 会员id
     */
    private Integer vipCardId;


    /**
     *  支付二维码
     */
    private String payQrCode;


    /**
     *  是否免费  0 - 不免费 1 - 免费
     */
    private Integer isFree;



    @TableField(exist = false)
    private String faceUrl;

    @Excel(name = "付款用户")
    @TableField(exist = false)
    private String nickName;

    @Excel(name = "收款账户")
    @TableField(exist = false)
    private String payPlatformName;

}
